package com.ecloud.openapi.security.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.security.dto.BasePermissionMenuDto;
import com.ecloud.openapi.security.po.BasePermissionMenuPo;
import com.ecloud.openapi.security.vo.BasePermissionMenuVo;

/**
 * BasePermissionMenuConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/07/04
 */
@Mapper
public interface BasePermissionMenuConvert {
    BasePermissionMenuConvert INSTANCE = Mappers.getMapper(BasePermissionMenuConvert.class);

    /**
     * {@link BasePermissionMenuDto}对象 >> {@link BasePermissionMenuPo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BasePermissionMenuPo} 对象
     */
    BasePermissionMenuPo dtoToPo(BasePermissionMenuDto dto);

    /**
     * {@link BasePermissionMenuDto}集合 >> {@link BasePermissionMenuPo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BasePermissionMenuPo} 集合
     */
    List<BasePermissionMenuPo> dtoToPo(List<BasePermissionMenuDto> dtos);

    /**
     * {@link BasePermissionMenuPo}对象 >> {@link BasePermissionMenuVo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BasePermissionMenuVo} 对象
     */
    BasePermissionMenuVo poToVo(BasePermissionMenuPo po);

    /**
     * {@link BasePermissionMenuPo}集合 >> {@link BasePermissionMenuVo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BasePermissionMenuVo} 集合
     */
    List<BasePermissionMenuVo> poToVo(List<BasePermissionMenuPo> pos);
}
